package com.cqhfan.contentservice.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cqhfan.core.domain.dto.PageDTO;
import com.cqhfan.core.domain.query.PageQuery;
import com.cqhfan.pojo.content.dto.AddWorksDTO;
import com.cqhfan.pojo.content.po.Works;
import com.cqhfan.pojo.content.query.NearWorksQuery;
import com.cqhfan.pojo.content.query.ProfileWorksQuery;
import com.cqhfan.pojo.content.vo.ProfileWorksVO;
import com.cqhfan.pojo.content.vo.WorksVO;

/**
 * @author 眭传洪
 * @create 2025-08-01 0:33
 */
public interface WorksService extends IService<Works> {

    void addWorks(AddWorksDTO body);

    PageDTO<ProfileWorksVO> pageByUserId(ProfileWorksQuery query);

    PageDTO<WorksVO> pageByRecommend(PageQuery query);

    PageDTO<WorksVO> pageByFollow(PageQuery query);

    PageDTO<WorksVO> pageByFriend(PageQuery query);

    PageDTO<WorksVO> pageByNear(NearWorksQuery query);

    PageDTO<WorksVO> pageByRecommendForGuest(PageQuery query);

    WorksVO viewWorks(Long worksId);

    Works getByWorksId(Long worksId);

}
